package fl.ass.service.transform;

import java.util.ArrayList;
import java.util.List;

import fl.ass.facade.dto.AssDealCarDTO;
import fl.ass.service.po.AssDealCar;
import cn.cmm.base.framework.utils.CollectionUtils;

 /**
 * @Description: 处置-转优车信息表 转换器
 * @Description: 服务层与展现层转换类
 * @Description: 所有的PO只能在持久成和服务层使用
 * @Description: 所有的DTO只能在展现层和服务层使用
 * @Description: 在服务层中向下是DTO转PO,向上是PO转DTO
 */
public class AssDealCarTransform {


	/**
	 * PO 转  DTO
	 * @param po AssDealCar
	 * @return AssDealCarDTO
	 */
	public static AssDealCarDTO toDTO(AssDealCar po) {
		AssDealCarDTO  dto = null;
		if (po != null) { 
			dto = new AssDealCarDTO();
			dto.setId(po.getId());
			dto.setMasterId(po.getMasterId());//拖车ID
			dto.setDetailId(po.getDetailId());//拖车明细ID
			dto.setPrjId(po.getPrjId());//项目ID
			dto.setPaySchId(po.getPaySchId());//支付表ID
			dto.setPaySchNo(po.getPaySchNo());//支付表编号
			dto.setCstId(po.getCstId());//客户ID
			dto.setCstNm(po.getCstNm());//客户名称
			dto.setDealBaseAmt(po.getDealBaseAmt());//处置保底价
			dto.setDealDesc(po.getDealDesc());//处置说明
			dto.setDealTm(po.getDealTm());//处置时间
			dto.setFlowStatusCd(po.getFlowStatusCd());//流程状态(ASS0002)
			dto.setIsDel(po.getIsDel());//是否删除 1-删除 0-正常

			dto.setCrtTm(po.getCrtTm());//创建时间
			dto.setCrtUsrId(po.getCrtUsrId());//创建人
			dto.setMdfTm(po.getMdfTm());//修改时间
			dto.setMdfUsrId(po.getMdfUsrId());//修改人
			
			dto.setPrjPrdId(po.getPrjPrdId());//项目产品基础表ID
			dto.setPrjPrdDtlId(po.getPrjPrdDtlId());//项目产品明细表ID
			dto.setIsEnter(po.getIsEnter());//是否入库
			dto.setIsOut(po.getIsOut());//是否出库
			dto.setBuOrgCd(po.getBuOrgCd());//所属事业部
			dto.setOrgName(po.getOrgName());//组织机构名称
			dto.setOrgSimpleCode(po.getOrgSimpleCode());//事业部简码
			
			dto.setBusinessType(po.getBusinessType());//业务类型
			dto.setPrjTypCd(po.getPrjTypCd());//项目类型
			dto.setPrjNm(po.getPrjNm());//项目名称
			dto.setIsAssign(po.getIsAssign());// 是否可过户
            dto.setAssAccTyp(po.getAssAccTyp());// 提户情况
            dto.setManageId(po.getManageId());// 资产管理员id
            dto.setDoTransDt(po.getDoTransDt());// 过户日期
            dto.setManageNm(po.getManageNm());// 资产管理员姓名工号
            // 过户信息表最新主键ID
            dto.setTnId(po.getTnId());
            // 流程实例id
            dto.setProcId(po.getProcId());
            // 流程编号
            dto.setProcNo(po.getProcNo());
            // 合同编号
            dto.setContNo(po.getContNo());
            // 是否异地提档
            dto.setIsDiffPlace(po.getIsDiffPlace());
            // 过期时间
            dto.setExpireTime(po.getExpireTime());
            // 备注说明
            dto.setRemark(po.getRemark());
            // 收件人姓名
            dto.setRecipientName(po.getRecipientName());
            // 接收方式
            dto.setReceiveType(po.getReceiveType());
            // 联系电话
            dto.setContactNumber(po.getContactNumber());
            // 快递公司
            dto.setExpress(po.getExpress());
            // 快递单号
            dto.setExpressNumber(po.getExpressNumber());
            // 流程所处任务Key
            dto.setTaskDefKey(po.getTaskDefKey());
		}
		return dto;
	}

	/**
	 * DTO 转  PO
	 * @param dto AssDealCarDTO
	 * @return AssDealCar
	 */
	public static AssDealCar toPO(AssDealCarDTO dto) {
		AssDealCar po = null;
		if (dto != null) {
			po = new AssDealCar();
			po.setId(dto.getId());
			po.setMasterId(dto.getMasterId());//拖车ID
			po.setDetailId(dto.getDetailId());//拖车明细ID
			po.setPrjId(dto.getPrjId());//项目ID
			po.setPaySchId(dto.getPaySchId());//支付表ID
			po.setPaySchNo(dto.getPaySchNo());//支付表编号
			po.setCstId(dto.getCstId());//客户ID
			po.setCstNm(dto.getCstNm());//客户名称
			po.setDealBaseAmt(dto.getDealBaseAmt());//处置保底价
			po.setDealDesc(dto.getDealDesc());//处置说明
			po.setDealTm(dto.getDealTm());//处置时间
			po.setFlowStatusCd(dto.getFlowStatusCd());//流程状态(ASS0002)
			po.setIsDel(dto.getIsDel());//是否删除 1-删除 0-正常

			po.setCrtTm(dto.getCrtTm());//创建时间
			po.setCrtUsrId(dto.getCrtUsrId());//创建人
			po.setMdfTm(dto.getMdfTm());//修改时间
			po.setMdfUsrId(dto.getMdfUsrId());//修改人
			
			po.setPrjPrdId(dto.getPrjPrdId());//项目产品基础表ID
			po.setPrjPrdDtlId(dto.getPrjPrdDtlId());//项目产品明细表ID
			po.setIsEnter(dto.getIsEnter());//是否入库
			po.setIsOut(dto.getIsOut());//是否出库
			po.setBuOrgCd(dto.getBuOrgCd());//所属事业部
			po.setOrgName(dto.getOrgName());//组织机构名称
			po.setOrgSimpleCode(dto.getOrgSimpleCode());//事业部简码
			
			po.setBusinessType(dto.getBusinessType());//业务类型
			po.setPrjTypCd(dto.getPrjTypCd());//项目类型
			po.setPrjNm(dto.getPrjNm());//项目名称
			po.setIsAssign(dto.getIsAssign());// 是否可过户
            po.setAssAccTyp(dto.getAssAccTyp());// 提户情况
            po.setManageId(dto.getManageId());// 资产管理员id
            po.setDoTransDt(dto.getDoTransDt());// 过户日期
            po.setManageNm(dto.getManageNm());// 资产管理员姓名工号
            // 过户信息表最新主键ID
            po.setTnId(dto.getTnId());
            // 流程实例id
            po.setProcId(dto.getProcId());
            // 流程编号
            po.setProcNo(dto.getProcNo());
            // 合同编号
            po.setContNo(dto.getContNo());
            // 是否异地提档
            po.setIsDiffPlace(dto.getIsDiffPlace());
            // 过期时间
            po.setExpireTime(dto.getExpireTime());
            // 备注说明
            po.setRemark(dto.getRemark());
            // 收件人姓名
            po.setRecipientName(dto.getRecipientName());
            // 接收方式
            po.setReceiveType(dto.getReceiveType());
            // 联系电话
            po.setContactNumber(dto.getContactNumber());
            // 快递公司
            po.setExpress(dto.getExpress());
            // 快递单号
            po.setExpressNumber(dto.getExpressNumber());
            // 流程所处任务Key
            po.setTaskDefKey(dto.getTaskDefKey());
		}
		return po;
	}
	
	/**
	 * PO集合 转 DTO集合
	 * @param list List<AssDealCar>
	 * @return List<AssDealCarDTO>
	 */
	public static List<AssDealCarDTO> toDTOList(List<AssDealCar> list) {
		List<AssDealCarDTO>  voList = new ArrayList<AssDealCarDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (AssDealCar po : list) {
				voList.add(toDTO(po));
			}
		}
		return voList;
	}
}
